/*
 * Copyright (c) 2018-2999 湖南洛云网络科技有限公司 All rights reserved.
 *
 * https://www.gz-yami.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */

package com.yami.shop.distribution.comment.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.distribution.comment.model.DistributionUserBind;
import com.yami.shop.distribution.comment.param.RangeTimeParam;

/**
 *
 * @author lgh on 2019/04/01.
 */
public interface DistributionUserBindService extends IService<DistributionUserBind> {
    /**
     * 分销员和用户绑定关系列表
     * @param page 分页参数
     * @param distributionUserBind 绑定信息
     * @param bindTime 绑定时间
     * @param invalidTime 失效时间
     * @param userName 用户昵称
     * @param parentName 分销员昵称
     * @return 分销员和用户绑定关系列表
     */
    IPage<DistributionUserBind> distributionMsgsAndUserPage(Page page, DistributionUserBind distributionUserBind, RangeTimeParam bindTime, RangeTimeParam invalidTime, String userName, String  parentName);

    /**
     * 根据用户id和店铺Id获取绑定人id
     * @param shopId 店铺Id
     * @param userId 用户id
     * @param state 分销员绑定状态
     * @return 绑定的分销员id
     */
    Long getParentDistributionIdByShopIdAndUserId(Long shopId,String userId,Integer state);

    /**
     * 通过用户id和分销员id 尝试进行绑定,返回绑定结果
     * @param userId 用户id
     * @param distributionUserId 分销员id
     * @param shopId 店铺id
     * @return 是否绑定成功
     */
    boolean bindingUser(String userId, Long distributionUserId, Long shopId);

}
